package top.xiesen.innerclass;

import top.xiesen.innerclass.Face.Nose;

public class Outer {

	public static void main(String[] args) {
		//内部类的实例化，外部类与内部类之间使用$符号隔离开
		Face f = new Face();
		Nose n = f.new Nose();
		
		Face.Ear e = new Face.Ear();
		n.breath();
		e.listen();
	}
}

class Face {
	int type;
	String shape = "瓜子脸";
	static String color = "红润";
	
	class Nose {
		String type;
		//从属于对象，所以不能定义静态方法
		 void breath(){
			//System.out.println(shape);
			System.out.println(Face.this.type);
			System.out.println("呼吸！");
		}
	}
	//静态内部类
	static class Ear{
		//从属于外部类，可以定义静态方法
		void listen(){
			//内部方法只能调用静态属性
			System.out.println(color);
			//内部方法不能调用普通属性
			//System.out.println(shape);
			System.out.println("我在听");
		}
	}
}